<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport">
    <meta name="format-detection" content="telephone=no">
    <link rel="icon" type="image/png" href="//www.webfunny.cn/resource/favicon.ico">
    <title>前端监控系统，无埋点监控前端页面日志</title>
    <meta name="theme-color" content="#5eace0">
    <meta name="application-name" content="通过向html页面中插入一段简单的JS探针代码，实现无埋点监控前端页面的用户行为，包括但不限于 PV/UV、报错日志、请求日志、静态资源加载情况、用户点击行为以及截图信息等等，目的在于帮助前端开发提高解决线上问题的效率。前端监控系统">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/rrweb-player@latest/dist/style.css">
    <script async src="https://cdn.jsdelivr.net/npm/rrweb-player@latest/dist/index.js"></script>
    
    <!-- <script type="text/javascript" src="//cdn.bootcss.com/lz-string/1.4.4/lz-string.js"></script>  -->
    <script>
      !function(r){var o={};function n(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}n.m=r,n.c=o,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,r){r(1),e.exports=r(2)},function(e,t){!function(u){sessionStorage||(u.sessionStorage=new Object);var t=u.location.href.split("?")[0].replace("#",""),i=performance&&performance.timing,a=performance&&"function"==typeof performance.getEntries?performance.getEntries():null,c=sessionStorage.CUSTOMER_WEB_MONITOR_ID||"jeffery_webmonitor",e=-1===u.location.href.indexOf("https")?"http://":"https://",s=u.location.href,r="localhost",o="localhost:8011",n=-1==s.indexOf(r)?e+"localhost:8010":e+r+":8011",f="/server/upLog",d=n+f,l=n,h="CUSTOMER_PV",p="LOAD_PAGE",g="HTTP_LOG",y="JS_ERROR",m="SCREEN_SHOT",b="ELE_BEHAVIOR",v="RESOURCE_LOAD",w="CUSTOMIZE_BEHAVIOR",x="VIDEOS_EVENT",S=(u.navigator.userAgent,new function(){this.getUuid=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})+"-"+e},this.getCustomerKey=function(){var e=this.getUuid(),t=S.getCookie("monitorCustomerKey");if(!t){var r=new Date;r.setTime(r.getTime()+2592e6),document.cookie="monitorCustomerKey="+e+";Path=/;domain="+o+";expires="+r.toGMTString(),t=e}return t},this.getCookie=function(e){var t,r=new RegExp("(^| )"+e+"=([^;]*)(;|$)");return document.cookie.match(r)?(t=document.cookie.match(r),unescape(t[2])):""},this.getPageKey=function(){var e=this.getUuid();return localStorage.monitorPageKey&&/^[0-9a-z]{8}(-[0-9a-z]{4}){3}-[0-9a-z]{12}-\d{13}$/.test(localStorage.monitorPageKey)||(localStorage.monitorPageKey=e),localStorage.monitorPageKey},this.setPageKey=function(){localStorage.monitorPageKey=this.getUuid()},this.addLoadEvent=function(e){var t=u.onload;"function"!=typeof u.onload?u.onload=e:u.onload=function(){t(),e()}},this.ajax=function(e,t,r,o,n){var i=u.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");i.open(e,t,!0),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.onreadystatechange=function(){if(4==i.readyState&&200==i.status){var e=JSON.parse(i.responseText);"function"==typeof o&&o(e)}else"function"==typeof n&&n()},i.send("data="+JSON.stringify(r))},this.screenShot=function(e,n){var t=e,r=t.offsetWidth,o=t.offsetHeight,i=document.createElement("canvas");i.style.display="none",i.width=.3*r,i.height=.3*o,i.getContext("2d").scale(.3,.3);var a={scale:.3,canvas:i,logging:!1,width:r,height:o,useCORS:!0};u.html2canvas&&u.html2canvas(e,a).then(function(e){var t=e.toDataURL("image/webp").replace("data:image/webp;base64,",""),r=S.b64EncodeUnicode(t),o=new N(m,n,r);o.handleLogInfo(m,o)})},this.encryptObj=function(e){if(e instanceof Array){for(var t=[],r=0;r<e.length;++r)t[r]=this.encryptObj(e[r]);return t}if(e instanceof Object){t={};for(var r in e)t[r]=this.encryptObj(e[r]);return t}return 8<(e+="").length&&(e=e.substring(0,4)+"****"+e.substring(e.length-3,e.length)),e},this.compressJson=function(e){if(e instanceof Array){for(var t=[],r=0;r<e.length;++r)t[r]=this.compressJson(e[r]);return t}if(e instanceof Object){t={};for(var r in e){if("_cssText"==r)for(var o in e[r]=e[r].replace(/ {/g,"{").replace(/; /g,";").replace(/: /g,":").replace(/, /g,",").replace(/{ /g,"{"),_){var n=_[o],i=new RegExp(o,"g");e[r]=e[r].replace(i,n)}T[r]?(t[T[r]]=this.compressJson(e[r]),delete t[r]):t[r]=this.compressJson(e[r])}return t}return e},this.Compress=function(e){var t="",r=new Array;for(d=0;d<128;d++)r[d]=d;for(var o=128,n=0,i=0,a=0,s=0,c=0,d=0;d<e.length;d++)null!=r[c=a<<8|(s=e.charCodeAt(d))]?a=r[c]:(i<<=12,i|=a,a=s,16<=(n+=12)&&(t+=String.fromCharCode(i>>n-16),i&=Math.pow(2,n-16)-1,n-=16),o<4096&&(o++,r[c]=o-1));return 0!=a&&(n+=12,i<<=12,i|=a),16<=n&&(t+=String.fromCharCode(i>>n-16),i&=Math.pow(2,n-16)-1,n-=16),0<n&&(i<<=16-n,t+=String.fromCharCode(i)),t},this.Decompress=function(e){var t="",r=new Array;for(d=0;d<128;d++)r[d]=String.fromCharCode(d);for(var o=128,n=0,i=0,a=0,s=0,c=0,d=0;d<e.length;d++)for(n+=16,i<<=16,i|=e.charCodeAt(d);12<=n;)s=void 0!==(c=r[a=i>>n-12])?(t+=c,128<o&&(r[r.length]=r[s]+c.substr(0,1)),a):(t+=c=r[s]+r[s].substr(0,1),r[r.length]=r[s]+c.substr(0,1),r.length-1),o++,n-=12,i&=Math.pow(2,n)-1;return t},this.getDevice=function(){var e={},t=navigator.userAgent,r=t.match(/(Android);?[\s\/]+([\d.]+)?/),o=t.match(/(iPad).*OS\s([\d_]+)/),n=t.match(/(iPod)(.*OS\s([\d_]+))?/),i=!o&&t.match(/(iPhone\sOS)\s([\d_]+)/),a=t.match(/Android\s[\S\s]+Build\//);if(e.ios=e.android=e.iphone=e.ipad=e.androidChrome=!1,e.isWeixin=/MicroMessenger/i.test(t),e.os="web",e.deviceName="PC",r&&(e.os="android",e.osVersion=r[2],e.android=!0,e.androidChrome=0<=t.toLowerCase().indexOf("chrome")),(o||i||n)&&(e.os="ios",e.ios=!0),i&&!n&&(e.osVersion=i[2].replace(/_/g,"."),e.iphone=!0),o&&(e.osVersion=o[2].replace(/_/g,"."),e.ipad=!0),n&&(e.osVersion=n[3]?n[3].replace(/_/g,"."):null,e.iphone=!0),e.ios&&e.osVersion&&0<=t.indexOf("Version/")&&"10"===e.osVersion.split(".")[0]&&(e.osVersion=t.toLowerCase().split("version/")[1].split(" ")[0]),e.iphone){e.deviceName="iphone";var s=u.screen.width,c=u.screen.height;320===s&&480===c?e.deviceName="iphone 4":320===s&&568===c?e.deviceName="iphone 5/SE":375===s&&667===c?e.deviceName="iphone 6/7/8":414===s&&736===c?e.deviceName="iphone 6/7/8 Plus":375===s&&812===c&&(e.deviceName="iphone X/S/Max")}else if(e.ipad)e.deviceName="ipad";else if(a){var d=a[0].split(";")[1].replace(/Build\//g,"");e.deviceName=d.replace(/(^\s*)|(\s*$)/g,"")}if(-1==t.indexOf("Mobile")){var l=navigator.userAgent.toLowerCase();if(e.browserName="未知",0<l.indexOf("msie")){var h=l.match(/msie [\d.]+;/gi)[0];e.browserName=h.split("/")[0],e.browserVersion=h.split("/")[1]}if(0<l.indexOf("firefox")){h=l.match(/firefox\/[\d.]+/gi)[0];e.browserName=h.split("/")[0],e.browserVersion=h.split("/")[1]}if(0<l.indexOf("safari")&&l.indexOf("chrome")<0){h=l.match(/safari\/[\d.]+/gi)[0];e.browserName=h.split("/")[0],e.browserVersion=h.split("/")[1]}if(0<l.indexOf("chrome")){h=l.match(/chrome\/[\d.]+/gi)[0];e.browserName=h.split("/")[0],e.browserVersion=h.split("/")[1]}}return e.webView=(i||o||n)&&t.match(/.*AppleWebKit(?!.*Safari)/i),e},this.loadJs=function(e,t){var r=document.createElement("script");r.async=1,r.src=e,r.onload=t;var o=document.getElementsByTagName("script")[0];return o.parentNode.insertBefore(r,o),o},this.b64EncodeUnicode=function(t){try{return btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}))}catch(e){return t}},this.char2buf=function(e){for(var t=new ArrayBuffer(2*e.length),r=new Uint16Array(t),o=e.split(""),n=0;n<o.length;n++)r[n]=o[n].charCodeAt();return t}}),E=S.getDevice(),O=localStorage.wmUserInfo?JSON.parse(localStorage.wmUserInfo):{},T={type:"≠",childNodes:"ā",name:"á",id:"ǎ",tagName:"à",attributes:"ē",style:"é",textContent:"ě",isStyle:"è",isSVG:"ī",content:"í",href:"ǐ",src:"ì",class:"ō",tabindex:"ó","aria-label":"ǒ",viewBox:"ò",focusable:"ū","data-icon":"ú",width:"ǔ",height:"ù",fill:"ǖ","aria-hidden":"ǘ",stroke:"ǚ","stroke-width":"ǜ","paint-order":"ü","stroke-opacity":"ê","stroke-dasharray":"ɑ","stroke-linecap":"?","stroke-linejoin":"ń","stroke-miterlimit":"ň","clip-path":"Γ","alignment-baseline":"Δ","fill-opacity":"Θ",transform:"Ξ","text-anchor":"Π",offset:"Σ","stop-color":"Υ","stop-opacity":"Φ"},_={background:"≠","background-attachment":"ā","background-color":"á","background-image":"ǎ","background-position":"à","background-repeat":"ē","background-clip":"é","background-origin":"ě","background-size":"è",border:"Г","border-bottom":"η",color:"┯",style:"Υ",width:"б","border-color":"ū","border-left":"ǚ","border-right":"ň","border-style":"Δ","border-top":"З","border-width":"Ω",outline:"α","outline-color":"β","outline-style":"γ","outline-width":"δ","left-radius":"Ж","right-radius":"И","border-image":"ω",outset:"μ",repeat:"ξ",repeated:"π",rounded:"ρ",stretched:"σ",slice:"υ",source:"ψ","border-radius":"Б",radius:"Д","box-decoration":"Й",break:"К","box-shadow":"Л","overflow-x":"Ф","overflow-y":"У","overflow-style":"Ц",rotation:"Ч","rotation-point":"Щ",opacity:"Ъ",height:"Ы","max-height":"Э","max-width":"Ю","min-height":"Я","min-width":"а",font:"в","font-family":"г","font-size":"ж",adjust:"з",aspect:"и","font-stretch":"й","font-style":"к","font-variant":"л","font-weight":"ф",content:"ц",before:"ч",after:"ш","counter-increment":"щ","counter-reset":"ъ",quotes:"ы","list-style":"+",image:"－",position:"|",type:"┌",margin:"┍","margin-bottom":"┎","margin-left":"┏","margin-right":"┐","margin-top":"┑",padding:"┒","padding-bottom":"┓","padding-left":"—","padding-right":"┄","padding-top":"┈",bottom:"├",clear:"┝",clip:"┞",cursor:"┟",display:"┠",float:"┡",left:"┢",overflow:"┣",right:"┆",top:"┊","vertical-align":"┬",visibility:"┭","z-index":"┮",direction:"┰","letter-spacing":"┱","line-height":"┲","text-align":"6","text-decoration":"┼","text-indent":"┽","text-shadow":"10","text-transform":"┿","unicode-bidi":"╀","white-space":"╂","word-spacing":"╁","hanging-punctuation":"╃","punctuation-trim":"1",last:"3","text-emphasis":"4","text-justify":"5",justify:"7","text-outline":"8","text-overflow":"9","text-wrap":"11","word-break":"12","word-wrap":"13"};function U(){this.handleLogInfo=function(e,t){var r=localStorage[e]?localStorage[e]:"";switch(e){case b:localStorage[b]=r+JSON.stringify(t)+"$$$";break;case y:localStorage[y]=r+JSON.stringify(t)+"$$$";break;case g:localStorage[g]=r+JSON.stringify(t)+"$$$";break;case m:localStorage[m]=r+JSON.stringify(t)+"$$$";break;case h:localStorage[h]=r+JSON.stringify(t)+"$$$";break;case p:localStorage[p]=r+JSON.stringify(t)+"$$$";break;case v:localStorage[v]=r+JSON.stringify(t)+"$$$";break;case w:localStorage[w]=r+JSON.stringify(t)+"$$$";break;case x:localStorage[x]=r+JSON.stringify(t)+"$$$"}}}function A(){this.h=(new Date).getTime(),this.a=c,this.g=u.location.href.split("?")[0].replace("#",""),this.f=S.b64EncodeUnicode(encodeURIComponent(u.location.href)),this.b=S.getCustomerKey();var e=localStorage.wmUserInfo?JSON.parse(localStorage.wmUserInfo):"";this.c=S.b64EncodeUnicode(e.userId||""),this.d=S.b64EncodeUnicode(e.firstUserParam||""),this.e=S.b64EncodeUnicode(e.secondUserParam||"")}function L(e,t,r){A.apply(this),this.i=e,this.j=S.b64EncodeUnicode(O.projectVersion||""),this.k=S.getPageKey(),this.l=E.deviceName,this.m=E.os+(E.osVersion?" "+E.osVersion:""),this.n=E.browserName,this.o=E.browserVersion,this.p="",this.q="china",this.r="",this.s="",this.t=t,this.u=r}function C(e,t,r,o,n,i,a,s,c,d,l,h){A.apply(this),this.i=e,this.t=t,this.v=r,this.w=o,this.x=n,this.y=i,this.z=a,this.A=s,this.B=c,this.C=d,this.D=l,this.E=h}function P(e,t,r,o,n,i,a){A.apply(this),this.i=e,this.da=t,this.G=S.b64EncodeUnicode(r),this.H=S.b64EncodeUnicode(o),this.I=S.b64EncodeUnicode(n),this.L=i,this.M=S.b64EncodeUnicode(encodeURIComponent(a))}function I(e,t,r,o){A.apply(this),this.i=e,this.O=t,this.k=S.getPageKey(),this.l=E.deviceName,this.m=E.os+(E.osVersion?" "+E.osVersion:""),this.n=E.browserName,this.o=E.browserVersion,this.p="",this.q="china",this.r="",this.s="",this.P=S.b64EncodeUnicode(r),this.Q=S.b64EncodeUnicode(o),this.R=""}function j(e,t,r,o,n,i,a,s,c){A.apply(this),this.i=e,this.g=t,this.S=S.b64EncodeUnicode(encodeURIComponent(r)),this.T=o,this.U=n,this.V=i,this.W="",this.X=S.b64EncodeUnicode(a),this.h=s,this.u=c}function N(e,t,r,o){A.apply(this),this.i=e,this.Y=S.b64EncodeUnicode(t),this.Z=r,this.aa=o||"jpeg"}function R(e,t,r,o){A.apply(this),this.i=e,this.ba=r,this.ca=S.b64EncodeUnicode(encodeURIComponent(t)),this.T=o}function k(e,t,r,o,n){this.c=e,this.da=t,this.ea=r,this.i=o,this.Y=n,this.h=(new Date).getTime()}function B(){var e=u.location.href.split("?")[0].replace("#","");t!=e&&($(),t=e)}function $(){S.setPageKey();var e="load";a&&(e=a[0]&&"navigate"===a[0].type?"load":"reload");var t=new L(h,e,0);t.handleLogInfo(h,t)}function D(e,t,r,o,n,i){B();var a=t||"",s=i||"",c="";a&&(c="string"==typeof s?s.split(": ")[0].replace('"',""):JSON.stringify(s).split(": ")[0].replace('"',""));var d=new I(y,e,c+": "+a,s);d.handleLogInfo(y,d)}L.prototype=new U,C.prototype=new U,P.prototype=new U,I.prototype=new U,j.prototype=new U,N.prototype=new U,R.prototype=new U,k.prototype=new U,new U,function(){try{u.addEventListener("error",function(e){var t=e.target.localName,r="";"link"===t?r=e.target.href:"script"===t&&(r=e.target.src);var o=new R(v,r,t,"0");o.handleLogInfo(v,o)},!0),$(),S.addLoadEvent(function(){setTimeout(function(){if(a){var e="load";e=a[0]&&"navigate"===a[0].type?"load":"reload";var t=i,r=new C(p);r.loadType=e,r.loadPage=t.loadEventEnd-t.navigationStart,r.domReady=t.domComplete-t.responseEnd,r.redirect=t.redirectEnd-t.redirectStart,r.lookupDomain=t.domainLookupEnd-t.domainLookupStart,r.ttfb=t.responseStart-t.navigationStart,r.request=t.responseEnd-t.requestStart,r.loadEvent=t.loadEventEnd-t.loadEventStart,r.appcache=t.domainLookupStart-t.fetchStart,r.unloadEvent=t.unloadEventEnd-t.unloadEventStart,r.connect=t.connectEnd-t.connectStart,r.handleLogInfo(p,r)}},1e3)}),function(e){e&&e.record&&1==e.record&&(B(),document.onclick=function(e){var t="",r="",o="",n=e.target.tagName,i="";"svg"!=e.target.tagName&&"use"!=e.target.tagName&&(t=e.target.className,r=e.target.placeholder||"",o=e.target.value||"",200<(i=e.target.innerText?e.target.innerText.replace(/\s*/g,""):"").length&&(i=i.substring(0,100)+"... ..."+i.substring(i.length-99,i.length-1)),i=i.replace(/\s/g,""));var a=new P(b,"click",t,r,o,n,i);a.handleLogInfo(b,a)})}({record:1}),function(){var o=console.error;console.error=function(e){var t=e&&e.message||e,r=e&&e.stack;return D("console_error",t,s,0,0,r||"CustomizeError: "+t),o.apply(console,arguments)},u.onerror=function(e,t,r,o,n){!0,D("on_error",e,t,r,o,n?n.stack:null)},u.onunhandledrejection=function(e){var t="",r="";r="object"==typeof e.reason?(t=e.reason.message,e.reason.stack):(t=e.reason,""),D("on_error",t,s,0,0,"UncaughtInPromiseError: "+r)}}(),function(){function t(e){var t=new CustomEvent(e,{detail:this});u.dispatchEvent(t)}var r=u.XMLHttpRequest;function n(e,t){if(h[e]&&!0!==h[e].uploadFlag){var r="";try{r=t?JSON.stringify(S.encryptObj(JSON.parse(t))):""}catch(e){r=""}var o=h[e].simpleUrl,n=(new Date).getTime(),i=h[e].event.detail.responseURL,a=h[e].event.detail.status,s=h[e].event.detail.statusText,c=n-h[e].timeStamp;if(i&&-1==i.indexOf(f)){var d=new j(g,o,i,a,s,"发起请求","",h[e].timeStamp,0);d.handleLogInfo(g,d);var l=new j(g,o,i,a,s,"请求返回",r,n,c);l.handleLogInfo(g,l),h[e].uploadFlag=!0}}}var h=[];u.XMLHttpRequest=function(){var e=new r;return e.addEventListener("abort",function(){t.call(this,"ajaxAbort")},!1),e.addEventListener("error",function(){t.call(this,"ajaxError")},!1),e.addEventListener("load",function(){t.call(this,"ajaxLoad")},!1),e.addEventListener("loadstart",function(){t.call(this,"ajaxLoadStart")},!1),e.addEventListener("progress",function(){t.call(this,"ajaxProgress")},!1),e.addEventListener("timeout",function(){t.call(this,"ajaxTimeout")},!1),e.addEventListener("loadend",function(){t.call(this,"ajaxLoadEnd")},!1),e.addEventListener("readystatechange",function(){t.call(this,"ajaxReadyStateChange")},!1),e},u.addEventListener("ajaxLoadStart",function(e){var t={timeStamp:(new Date).getTime(),event:e,simpleUrl:u.location.href.split("?")[0].replace("#",""),uploadFlag:!1};h.push(t)}),u.addEventListener("ajaxLoadEnd",function(){for(var o=0;o<h.length;o++){if(!0!==h[o].uploadFlag)if(0<h[o].event.detail.status)if("blob"===(h[o].event.detail.responseType+"").toLowerCase())!function(t){var r=new FileReader;r.onload=function(){var e=r.result;n(t,e)};try{r.readAsText(h[o].event.detail.response,"utf-8")}catch(e){n(t,h[o].event.detail.response+"")}}(o);else{var e=h[o].event.detail.responseText;n(o,e)}}})}();var r=0,o=0,n=[b,y,g,m,h,p,v,w,x];setInterval(function(){if(B(),40<=r){for(var e="",t=0;t<n.length;t++)e+=localStorage[n[t]]||"";if(e.split("$$$").length<10&&o<2)return o++,void(r=0);(o=0)<e.length&&S.ajax("POST",d,{logInfo:e},function(){for(var e=0;e<n.length;e++)localStorage[n[e]]=""},function(){for(var e=0;e<n.length;e++)localStorage[n[e]]=""}),r=0}r++},200)}catch(e){console.error("监控代码异常，捕获",e)}}(),u.webfunny={wm_upload:function(e,t,r,o){var n=(new Date).toString(),i={createTime:encodeURIComponent(n),happenTime:(new Date).getTime(),uploadType:"WM_UPLOAD",simpleUrl:encodeURIComponent(encodeURIComponent(e)),webMonitorId:c,recordType:t,recordIndex:r,description:o},a=l,s=u.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");s.open("POST",a,!0),s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.send("data="+JSON.stringify([i]))},wm_init_user:function(e,t,r){return e||console.warn("userId 初始化值为0(不推荐) 或者 未初始化"),r||console.warn("secondParam 初始化值为0(不推荐) 或者 未初始化"),t&&(c=t+"_webmonitor"),localStorage.wmUserInfo=JSON.stringify({userId:e,userTag:t,secondUserParam:r}),1},wmInitUser:function(e,t){return e||console.warn("userId(用户唯一标识) 初始化值为0(不推荐) 或者 未传值, 探针可能无法生效"),t||console.warn("projectVersion(应用版本号) 初始化值为0(不推荐) 或者 未传值, 探针可能无法生效"),localStorage.wmUserInfo=JSON.stringify({userId:e,projectVersion:t}),1},wm_screen_shot:function(e){S.screenShot(document.body,e)},wm_upload_picture:function(e,t,r){var o=new N(m,t,e,r||"jpeg");o.handleLogInfo(m,o)},wm_upload_extend_log:function(e,t,r,o,n){var i=new k(e,t,r,o,n);i.handleLogInfo(w,i)}},function(){if("function"==typeof u.CustomEvent)return;function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var r=document.createEvent("CustomEvent");return r.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),r}e.prototype=u.Event.prototype,u.CustomEvent=e}()}(window)},function(e,t){!function(e){var t="URLSearchParams"in e,r="Symbol"in e&&"iterator"in Symbol,a="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in e,n="ArrayBuffer"in e;if(n)var i=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],s=function(e){return e&&DataView.prototype.isPrototypeOf(e)},c=ArrayBuffer.isView||function(e){return e&&-1<i.indexOf(Object.prototype.toString.call(e))};function d(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function h(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function u(t){this.map={},t instanceof u?t.forEach(function(e,t){this.append(t,e)},this):Array.isArray(t)?t.forEach(function(e){this.append(e[0],e[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function f(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function p(r){return new Promise(function(e,t){r.onload=function(){e(r.result)},r.onerror=function(){t(r.error)}})}function g(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e)if("string"==typeof e)this._bodyText=e;else if(a&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(o&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(t&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(n&&a&&s(e))this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!n||!ArrayBuffer.prototype.isPrototypeOf(e)&&!c(e))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=y(e)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a&&(this.blob=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(g)}),this.text=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return function(e){var t=new FileReader,r=p(t);return t.readAsText(e),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),o=0;o<t.length;o++)r[o]=String.fromCharCode(t[o]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o&&(this.formData=function(){return this.text().then(w)}),this.json=function(){return this.text().then(JSON.parse)},this}u.prototype.append=function(e,t){e=d(e),t=l(t);var r=this.map[e];this.map[e]=r?r+","+t:t},u.prototype.delete=function(e){delete this.map[d(e)]},u.prototype.get=function(e){return e=d(e),this.has(e)?this.map[e]:null},u.prototype.has=function(e){return this.map.hasOwnProperty(d(e))},u.prototype.set=function(e,t){this.map[d(e)]=l(t)},u.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},u.prototype.keys=function(){var r=[];return this.forEach(function(e,t){r.push(t)}),h(r)},u.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),h(t)},u.prototype.entries=function(){var r=[];return this.forEach(function(e,t){r.push([t,e])}),h(r)},r&&(u.prototype[Symbol.iterator]=u.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function v(e,t){var r=(t=t||{}).body;if(e instanceof v){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new u(e.headers)),this.method=e.method,this.mode=e.mode,r||null==e._bodyInit||(r=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new u(t.headers)),this.method=function(e){var t=e.toUpperCase();return-1<b.indexOf(t)?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function w(e){var n=new FormData;return e.trim().split("&").forEach(function(e){if(e){var t=e.split("="),r=t.shift().replace(/\+/g," "),o=t.join("=").replace(/\+/g," ");n.append(decodeURIComponent(r),decodeURIComponent(o))}}),n}function x(e,t){t=t||{},this.type="default",this.status="status"in t?t.status:200,this.ok=200<=this.status&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new u(t.headers),this.url=t.url||"",this._initBody(e)}v.prototype.clone=function(){return new v(this,{body:this._bodyInit})},m.call(v.prototype),m.call(x.prototype),x.prototype.clone=function(){return new x(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new u(this.headers),url:this.url})},x.error=function(){var e=new x(null,{status:0,statusText:""});return e.type="error",e};var S=[301,302,303,307,308];x.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError("Invalid status code");return new x(null,{status:t,headers:{location:e}})},e.Headers=u,e.Request=v,e.Response=x,e.fetch=function(n,i){return fetchHttpUrl=n,new Promise(function(r,e){var t=new v(n,i),o=new XMLHttpRequest;o.onload=function(){var e={status:o.status,statusText:o.statusText,headers:function(e){var n=new u;return e.split(/\r?\n/).forEach(function(e){var t=e.split(":"),r=t.shift().trim();if(r){var o=t.join(":").trim();n.append(r,o)}}),n}(o.getAllResponseHeaders()||"")};e.url="responseURL"in o?o.responseURL:e.headers.get("X-Request-URL");var t="response"in o?o.response:o.responseText;r(new x(t,e))},o.onerror=function(){console.error("Network request failed"),e(new TypeError("Network request failed"))},o.ontimeout=function(){e(new TypeError("Network request failed"))},o.open(t.method,t.url,!0),"include"===t.credentials&&(o.withCredentials=!0),"responseType"in o&&a&&(o.responseType="blob"),t.headers.forEach(function(e,t){o.setRequestHeader(t,e)}),o.send(void 0===t._bodyInit?null:t._bodyInit)})},e.fetch.polyfill=!0}("undefined"!=typeof self?self:window)}]);
    </script>
    
      <!--百度-->
      <script>
        var _hmt = _hmt || [];
        (function() {
          var hm = document.createElement("script");
          hm.src = "//hm.baidu.com/hm.js?4a5e83bce981bd1506217897a3916ed3";
          var s = document.getElementsByTagName("script")[0];
          s.parentNode.insertBefore(hm, s);
        })();
      </script>
    
    <script language="javascript">
      // viewport 设置
      // 针对原来高清方案的基础, 增加了根据屏幕宽度计算不同font-size 来达到对不同屏幕的适配
      var win = window;
      win.flex = function(baseFontSize, fontscale) {
        var targetWidth = 375;
        var screenWidth = win.screen.width;
        var _baseFontSize = (baseFontSize || 100) * screenWidth / targetWidth;
        var _fontscale = fontscale || 1;

        var doc = win.document;
        var ua = navigator.userAgent;
        var matches = ua.match(/Android[\S\s]+AppleWebkit\/(\d{3})/i);
        var UCversion = ua.match(/U3\/((\d+|\.){5,})/i);
        var isUCHd = UCversion && parseInt(UCversion[1].split('.').join(''), 10) >= 80;
        var isIos = navigator.appVersion.match(/(iphone|ipad|ipod)/gi);
        var dpr = win.devicePixelRatio || 1;
        if (!isIos && !(matches && matches[1] > 534) && !isUCHd) {
          //在部分4.3及以下安卓机型中，screen.width是物理像素宽度，暂时没有找到准确判断的方法，所以不做针对375宽度的缩放
          _baseFontSize = baseFontSize || 100;
          // 如果非iOS, 非Android4.3以上, 非UC内核, 就不执行高清, dpr设为1;
          dpr = 1;
        }
        var scale = 1 / dpr;

        var metaEl = doc.querySelector('meta[name="viewport"]');
        if (!metaEl) {
          metaEl = doc.createElement('meta');
          metaEl.setAttribute('name', 'viewport');
          doc.head.appendChild(metaEl);
        }
        var uaString = ua.toLowerCase();
        if(uaString.match(/(iphone|ipad|ipod)/gi) || uaString.match(/(android)/gi)) {
          doc.documentElement.style.fontSize = '100px';
        } else {
          metaEl.setAttribute('content', 'width=device-width,user-scalable=no,initial-scale='+scale+',maximum-scale='+scale+',minimum-scale='+scale);
          doc.documentElement.style.fontSize = _baseFontSize * dpr * _fontscale + 'px';
        }
      };

      flex(100, 1);
    </script>
<link href="./css/common.359570cc2896c342576f.css" rel="stylesheet"><link href="./css/behaviors.359570cc2896c342576f.css" rel="stylesheet"></head>
<body>
<div id="app">
</div>
<div id="progress_bar" class="ui-progress-bar ui-container">
    <div class="ui-progress">
        <div class="wen-li"></div>
    </div>
</div>
<script type="text/javascript" src="./js/common.359570cc2896c342576f.min.js"></script><script type="text/javascript" src="./js/behaviors.359570cc2896c342576f.min.js"></script></body>
</html>
